你们想要的数据处理软件在这里
经常有人问我如何处理测序数据,在使用fastqc软件质控之后,该如何对数据进行处理。一般我都推荐使用fastx,flexbar,Trimmomatic,NGS-Toolkit等工具。但这些工具其实都不好用,今天给大家推荐一款纯好用的数据处理软件fastp。
软件介绍:
fastp是一款用来处理测序数据的工具,作者是陈实富,来至于深圳海普洛斯公司。他们将这款工具开源免费使用,这一点是非常值得称赞的。其实国内很多测序公司都有自己开发的数据处理程序,不过很多都在内部使用。
fastp可以实现处理数据的一次性处理,包括过滤低质量,过滤adapter,截取reads,split分割大文件等操作
支持长reads,也就是不仅仅适用与illumina测序平台,还可以处理Pacbio和Iontorrent的测序数据
直接输出质控和统计报告,包括json格式和html格式;
使用c++写的,执行效率非常高;
软件安装:
1、源代码安装
git clone https://github.com/OpenGene/fastp.gitcd fastp make sudo make install
2、编译好版本
wget http://opengene.org/fastp/fastp
chmod a+x fastp
软件使用:
-i,-I是输入文件
-o,-O是输出文件,软件默认是根据扩展名识别压缩文件,所以输出文件需要加上*.gz扩展名;
-6 指定质量体系是phred64。目前主流测序数据都采用phred33,如果从NCBI下载以前hiseq 2000以及之前的数据,可能是Phred 64质量体系。
-z 输出压缩格式。给定一个数字1-9,调整压缩比率和效率的平衡;
-A 关闭adapter trimming,默认软件会切出adapter,如果设置-A,则关闭这个功能;
-a 给定一个adapter序列文件;对于pairend reads 软件可以自动识别adapter并处理,对于single reads,需要给定一个adapter序列;
-f -F,-t -T用来截取reads。
-5 和-3也是用来截取reads,分别对应5‘端和3’端,这两个选项与上面的-f和t有什么不同呢,-f 和-t是人为指定截取范围,比如首尾各5bp,得到的reads是相同长度;-5 和-3是根据质量值来截取,低质量数目可能不同,最终得到的reads长度也不同;
-W 滑动窗口过滤,这个类似于计算kme 49 30220 49 14939 0 0 3840 0 0:00:07 0:00:03 0:00:04 3839r,默认是4个碱基;
-M -W选择的窗口中,碱基平均质量值,默认是Q20,如果这个区域窗口平均低于20,则认为是一个低质量区域,处理掉。
-Q,-q,-u,-n是与过滤低质量相关的
-Q 控制是否去除低质量,默认自动去除,设置-Q关闭;
-q 设置低质量的标准,默认是15,也就是质量值小于15认为是低质量碱基,一般我们设置20,常说的Q20;
-u 低质量碱基所占百分比,并不是包含低质量碱基就把一条reads丢掉,而是设置一定的比例,默认40代表40%,也就是150bpreads,包含60个以上低质量的碱基就丢掉,只要有一条reads不满足条件就成对丢掉;
-n 过滤N碱基过多的reads;
-L 关闭reads长度过滤选项;
-l 接一个长度值,小于这个长度reads被丢掉,默认是30,这个在处理非illumina测序数据时很有用。
-c 是对overlap的区域进行纠错,所以只适用于pairend reads。
#报告格式选项
-j 输出json格式报告文件名
-h 输出html 格式报告文件名,可以用浏览器直接查看
-w 使用线程数,默认是3
最后是控制split选项,有时候单条reads文件太大,可以分割为多份分别比对,在合并bam结果,这样可以提高效率。
-s 切割数目,默认是0,不分割;
-d 输出前缀位数,默认是4,0001,002这种命名,如果设置为3,就是001,002这种;
-?输出帮助信息;
使用案例:
fastp -i reads.1.fq.gz -I reads.2.fq.gz -o clean.1.fq.gz -O clean.2.fq.gz -z 4 -q 20 -u 30 -n 10 -h clean.html
更多内容可以查看github上的官网。
https://github.com/OpenGene/fastp/blob/master/README.md
---------- END ----------